package ar.edu.utn.frba.tacs.warnes.beans;

import java.util.ArrayList;
import java.util.List;

import javax.faces.event.ActionEvent;

import ar.edu.utn.frba.tacs.warnes.entities.BaseEntity;
import ar.edu.utn.frba.tacs.warnes.entities.Pedido;
import ar.edu.utn.frba.tacs.warnes.excepciones.DominioWarnesException;
import ar.edu.utn.frba.tacs.warnes.utils.ContenedorWarnes;

/**
 * @author dmiglino
 */
public class PedidoBrowseBean extends BaseBrowseBean {
	private List<Pedido> pedidos = new ArrayList<Pedido>();

	public PedidoBrowseBean() {
		this.setPedidos(ContenedorWarnes.getInstance().getPedidos());
	}

	public List<Pedido> getPedidos() {
		return this.pedidos;
	}

	public void setPedidos(List<Pedido> pedidos) {
		this.pedidos = pedidos;
	}

	@Override
	protected void cargarDataModel() {
		this.dataModel.setWrappedData(getPedidos());
	}

	@Override
	protected void doBeforeEliminar(BaseEntity entity) {
		ContenedorWarnes.getInstance().getPedidos().remove(entity);
	}

	public void actionConfirmar(ActionEvent event) {
		try {
			Pedido pedido = (Pedido) this.dataModel.getRowData();
			pedido.efectivizar();
			this.setErrores("");
		} catch (DominioWarnesException e) {
			this.setErrores(e.getMessage());
		}
		// return "cambioEstado";
	}

	public void actionRechazar(ActionEvent event) {
		try {
			Pedido pedido = (Pedido) this.dataModel.getRowData();
			pedido.cancelar();
			this.setErrores("");
		} catch (DominioWarnesException e) {
			this.setErrores(e.getMessage());
		}
		// return "cambioEstado";
	}
	
}
